public class test5 {
    // https://leetcode.cn/problems/reverse-nodes-in-k-group/submissions/680415754/
    /*
    public ListNode reverseKGroup(ListNode head, int k) {
        // 1. 先求出需要逆序多少组
        int n=0;
        ListNode cur=head;
        while(cur!=null) {
            cur=cur.next;
            n++;
        }
        n/=k;
        // 重复n次逆序
        ListNode newHead=new ListNode(0);// 虚拟头结点
        ListNode prev=newHead;
        cur=head;
        for(int i=0;i<n;i++) {
            ListNode tmp=cur;// 记录下第一个节点
            for(int j=0;j<k;j++) {
                // 头插
                ListNode next=cur.next;
                cur.next=prev.next;
                prev.next=cur;
                cur=next;
            }
            prev=tmp;
        }
        // 把后面不需要逆序的部分连上
        prev.next=cur;
        return newHead.next;
    }
     */

}
